home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
rbbs_pc
/
173amrg.zip
/
R-PC173A.MRG
< prev
next >
Wrap
Text File
|
1990-08-26
|
66KB
|
1,650 lines
* ------------[ BLED merge (c) Ken Goosens ]-------------
* Merge this against D:\172B\RBBS-PC.BAS to produce RBBS-PC.BAS
* D:\172B\RBBS-PC.BAS: Date 2-11-1990 Size 153912 bytes
* ------------[ Created 08-26-1990 11:26:09 ]------------
* REPLACING old line(s) by new
4 ' $title: 'RBBS-PC 17.3A, Copyright 1990 by D. Thomas Mack' ' DA081003
* REPLACING old line(s) by new
16 ' * companion program, CONFIG (version 17.3A), to make copies of this *
* REPLACING old line(s) by new
31 ZSnoop = ZTrue
* ------[ first line different ]------
CALL PScrn ("Configuration "+ZConfigFileName$+" missing/improper format") : _ ' KG071301
GOTO 204
* REPLACING old line(s) by new
105 ZVersionID$ = "17.3A"
* REPLACING old line(s) by new
135 IF ZCurDef$ = ZOrigCnfg$ THEN _
ZActiveMessageFile$ = ZMainMsgFile$ : _
ZActiveUserFile$ = ZMainUserFile$
GOSUB 4910
IF ZConfMode THEN _
GOTO 150
ZLocalUserMode = (RIGHT$(ZComPort$,1) < "1")
GET 1,ZNodeRecIndex
ZWasY$ = MID$(ZMsgRec$,77,2)
CALL UnPackDate (ZWasY$,WasX,WasL,WasI,ZOldDate$)
ZOldDate$ = LEFT$(ZOldDate$,6) + MID$(STR$(WasX),2)
ZHourMinToDropToDos = - (ZHourMinToDropToDos > 0) * ZHourMinToDropToDos
Hour = INT(ZHourMinToDropToDos / 100)
WasMN = ZHourMinToDropToDos - Hour * 100
* ------[ first line different ]------
ZTimeToDropToDos! = Hour * 3600! + WasMN * 60! ' KK030901
'
' ****** TEST FOR TIMED EXIT ACTIVE *****
'
* REPLACING old line(s) by new
150 IF SubBoard THEN _
GOSUB 12987 : _
GOSUB 5135 : _
GOTO 170
ZSysopAvail = VAL(MID$(ZMsgRec$,32,2))
ZSysopAnnoy = VAL(MID$(ZMsgRec$,34,2))
ZSysopNext = VAL(MID$(ZMsgRec$,36,2))
MID$(ZMsgRec$,36,2) = STR$(ZFalse)
ZPrinter = VAL(MID$(ZMsgRec$,38,2))
IF ZTurnPrinterOff THEN _
ZPrinter = ZFalse
ZExitToDoors = (MID$(ZMsgRec$,40,2) = "-1" AND ZNetBaud$ = "")
ZEightBit = VAL(MID$(ZMsgRec$,42,2))
ZBPS = VAL(MID$(ZMsgRec$,44,2))
ZSnoop = VAL(MID$(ZMsgRec$,58,2))
MID$(ZMsgRec$,57,1) = "I"
ZPrivateDoor = (MID$(ZMsgRec$,72,2) = "-1")
IF ZPrivateDoor THEN _
ZHasPrivDoor = ZTrue
MID$(ZMsgRec$,72,2) = STR$(ZFalse)
* ------[ first line different ]------
ZLocalUser = (MID$(ZMsgRec$,101,2) = ZCarriageReturn$+ZCarriageReturn$) ' KG030601
IF ZExitToDoors OR ZPrivateDoor THEN _
ZHasDoored = ZTrue : _
TurboLogon = ZTrue
PUT 1,ZNodeRecIndex
GOSUB 12985
'
' ***** INITIALIZE VOICE SYNTHESIZER ****
'
CALL Talk (Init,ZOutTxt$)
'
' ***** TEST FOR MULTI LINK PRESENT IF NOT COMPAQ COMPUTER ****
'
* REPLACING old line(s) by new
175 GOSUB 5344
CALL CountLines (MaxEntries)
REDIM ZCategoryName$(MaxEntries),ZCategoryCode$(MaxEntries),_
ZCategoryDesc$(MaxEntries) : _
CALL InitFMS (ZCategoryName$(),ZCategoryCode$(), _
ZCategoryDesc$(),ZNumCategories)
ZMaxMsgLines = ZMaxMsgLinesDef
ZLocalUser = (ZLocalUser OR ZLocalUserMode)
IF (NOT ZLocalUser) AND (NOT SubBoard) THEN _
CALL OpenCom (ZModemInitBaud$,",N,8,1")
IF NOT SubBoard THEN _
CALL SetEcho (ZDefaultEchoer$)
ZNodeWorkFile$ = ZNodeWorkDrvPath$ + _
"NODE" + _
ZNodeFileID$ + _
"WRK"
* ------[ first line different ]------
ZSecsPerSession! = ZMinsPerSession * 60! ' KK030901
IF NOT ZLocalUserMode THEN _
IF NOT ZExitToDoors THEN _
GOTO 180 _
ELSE IF NOT ZLocalUser THEN _
GOTO 180
ZLocalUser = ZTrue
ZBPS = -6
ZBaudTest! = 9600
ZEightBit = ZTrue
ZSnoop = ZTrue
IF ZExitToDoors THEN _
CALL AMorPM : _
CALL ReadProf : _
GOTO 410
GOSUB 178
GOTO 345
* REPLACING old line(s) by new
* ------[ first line different ]------
178 IF NOT SubBoard THEN _ ' KG082002
RETURN ' KG082002
IF ZNewUser THEN _ ' KG082002
GOSUB 758 ' KG082002
IF ZFirstName$ = ZSysopFirstName$ AND _
ZLastName$ = ZSysopLastName$ THEN _
RETURN 832 _
ELSE RETURN 790 ' KG082002
* REPLACING old line(s) by new
345 LOCATE 24,1
CALL AMorPM
ZUserLogonTime! = TIMER
ZTimeLoggedOn$ = TIME$
ZLinesPrinted = 0
ZExpertUserDef = ZExpertUser
ZExpertUser = ZFalse
CALL SetExpert
ZOutTxt$ = ""
IF NodesInSystem > 1 THEN _
* ------[ first line different ]------
ZOutTxt$ = " - Node " + ZNodeID$ ' DA071701
IF ZReliableMode THEN _
ZOutTxt$ = ZOutTxt$ + " (Reliable)" ' KG071301
CALL QuickTPut1 ("Welcome to " + ZRBBSName$ + ZOutTxt$) ' DA071701
ZTestParity = ZTrue
ZStopInterrupts = ZTrue
ZFileName$ = ZPreLog$
CALL FlushCom (WasX$)
ZCommPortStack$ = ""
* REPLACING old line(s) by new
459 GOSUB 9500
ZLastDateTimeOnSave$ = ZLastDateTimeOn$
IF ZExitToDoors THEN _
* ------[ first line different ]------
TempHoldTime! = VAL(LEFT$(ZTime$,2))*3600! + _ ' KK030901
VAL(MID$(ZTime$,4,2))*60! : _ ' KK030901
CALL CheckTime(TempHoldTime!, TempTime!, 2) : _
MinsInDoors = TempTime! / 60 : _
CALL TimeRemain (MinsRemaining)
ZUserFileIndex = LOC(5)
GOSUB 5135
'
' *** COMPUTE THE NUMBER OF DAYS REMAINING UNTIL REGISTRATION EXPIRES **
'
IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
CALL CompDate (UserRegYY,UserRegMM,UserRegDD,UserComputeDate!) : _
ZRegDaysRemaining = UserComputeDate! + _
ZDaysInRegPeriod - _
TodayComputeDate! : _
CALL ExpireDate (UserComputeDate!,ZDaysInRegPeriod,ZExpirationDate$) _
ELSE ZDaysInRegPeriod = 0
IF NOT ZPrivateDoor THEN _
IF ZRegDaysRemaining < 0 AND ZDaysInRegPeriod > 0 THEN _
IF ZUserSecLevel > ZExpiredSec THEN _
CALL QuickTPut1 (ZWasLG$(9) + _
" - security reset to " + _
STR$(ZExpiredSec)) : _
CALL BufFile(ZHelpPath$+"RGXPIRD"+ZHelpExtension$,WasX) : _
ZLogonErrorIndex = 9 : _
ZUserSecLevel = ZExpiredSec : _
LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
GOSUB 5135
* REPLACING old line(s) by new
725 IF ZUserSecLevel < ZMinLogonSec THEN _
ZLogonErrorIndex = 1 : _
GOTO 460
IF ZFirstName$ = ZLastName$ THEN _
CALL QuickTPut1 (ZFirstNamePrompt$+"/"+ZLastNamePrompt$+" cannot be same") : _
ZLogonErrorIndex = 3 : _
GOTO 10620
IF NOT ZRememberNewUsers THEN _
GOSUB 13700 : _
ZUserFileIndex = 0 : _
GOSUB 12960: _
PrevLastOn$ = "00-00-00": _
GOTO 735
ZNewUser = ZTrue
CALL OpenUser (HighestUserRecord)
GOSUB 9450
GOSUB 12630
MID$(ZUserRecord$,ZStartHash,ZLenHash) = LEFT$("NEWUSER",ZLenHash)
* ------[ first line different ]------
IF ZStartIndiv > 0 THEN _ ' RC050901
MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$ ' RC050901
GOSUB 9440
* REPLACING old line(s) by new
735 ZBypassTimeCheck = ZTrue
* ------[ first line different ]------
GOSUB 758 ' KG082002
* REPLACING old line(s) by new
* ------[ first line different ]------
754 CALL QuickTPut1 ("GUEST privileges granted. Re-register on future calls") ' DA071701
ZUserSecSave = ZUserSecLevel
GOTO 832
* REPLACING old line(s) by new
755 IF ZPrivateDoor THEN _
ZUserIn$ = ZPswd$ : _
ZWasZ$ = ZUserIn$ : _
RETURN
GOSUB 12800
* ------[ first line different ]------
ZOutTxt$ = "Re-Enter password for Verification" ' DA071701
GOSUB 45010
SWAP ZWasZ$,ZUserIn$
CALL AllCaps (ZWasZ$)
IF ZUserIn$ <> ZWasZ$ THEN _
CALL QuickTPut1 ("Passwords Don't Match!") : _
GOTO 755
RETURN ' KG082002
* INSERTING new line(s)
758 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue) ' KG082002
CALL Line25
ZFileName$ = ZNewUserFile$
ZStopInterrupts = ZTrue
GOSUB 1790
CALL SkipLine(1)
RETURN ' KG082002
'
' *** R - COMMAND FROM NEWUSER ROUTINE - REGISTER **
'
* REPLACING old line(s) by new
760 GOSUB 755
CALL AllCaps (ZWasZ$)
LSET ZPswd$ = ZWasZ$
CALL QuickTPut1 ("Please REMEMBER your password")
ZUserTextColor = 37
ZTempSecLevel = ZUserSecLevel
CALL Protocol
ZUserXferDefault$ = "N"
ZProtoPrompt$ = "None"
* ------[ first line different ]------
IF ZNewUserSetsDefaults THEN _ ' KG071301
ZBypassTimeCheck = ZTrue : _
GOSUB 43000 : _
ZBypassTimeCheck = ZFalse : _
CALL Graphic (ZUserGraphicDefault$,ZFileName$) : _
GOSUB 42805 : _
GOSUB 42700 _
ELSE ZUpperCase = ZFalse : _
ZHiLiteOff = ZTrue : _
CALL SetGraphic (0,ZUserGraphicDefault$) : _
ZNulls = ZFalse
ZPageLength = ZPageLengthDef
GOSUB 12900
GOSUB 5135
CALL DefaultU
* REPLACING old line(s) by new
800 CALL DoorReturn
IF ZAdjustedSecurity THEN _
GOSUB 5135
IF ZOrigCnfg$ = ZCurDef$ THEN _
ZMainUserFileIndex = ZUserFileIndex : _
ZOrigSec = ZUserSecLevel : _
ZUserSecSave = ZUserSecLevel : _
ZOrigUserName$ = ZActiveUserName$
ZTimesLoggedOn = CVI(MID$(ZUserOption$,1,2)) - _
((ZOrigCnfg$ <> ZCurDef$ OR NOT SubBoard) AND _
(NOT ZPrivateDoor) AND (NOT ZExitToDoors))
GOSUB 9500
IF (NOT ZExitToDoors) AND (NOT SubBoard) THEN _
CALL UpdtCalr (ZActiveUserName$ + " from " + ZWasCI$ + _
" Lvl" + STR$(ZUserSecLevel) + " " + TIME$,2)
PrevLastOn$ = ZLastDateTimeOn$
IF ZLocalUser THEN _
ZTalkToModemAt$ = "9600" : _
ZBaudParity$ = "9600 BAUD,N,8,1" : _
ZModemInitBaud$ = "9600" : _
ZSnoop = ZTrue : _
ZLineFeeds = ZTrue
CALL SetCrLf
CALL SetPrompt
CALL XferType (2,ZTrue)
IF NOT SubBoard THEN _
BoardCheckDate$ = PrevLastOn$
* ------[ first line different ]------
GOSUB 5370 ' KG060101
IF ZWasA THEN _ ' KG060101
ZActiveUserName$ = "SYSOP" ' KG060101
IF ZExitToDoors OR SubBoard THEN _ ' KG052701
GOTO 815
GOSUB 465
IF (ZEightBit AND _
ZAutoDownDesired) OR _
ZAskID THEN _
CALL TestUser
CALL QuickTPut1 ("Logging " + ZActiveUserName$)
CALL Talk (1,ZOutTxt$)
CALL QuickTPut1 ("RBBS-PC " + ZVersionID$ + " Node " + ZNodeID$ + _ ' DA071701
", operating at " + ZBaudParity$) ' DA071701
CALL SkipLine (1)
Attempts = 0
ZWasZ$ = ZActiveUserName$ + _ ' KG052701
" on at " + _ ' KG052701
ZCurDate$ + _ ' KG052701
", " + _ ' KG052701
ZTime$ + _ ' KG052701
" from " + _ ' KG052701
ZWasCI$ + _ ' KG052701
", " + _ ' KG052701
ZBaudParity$ ' KG052701
ZWasNG$ = ZWasZ$ + SPACE$(128 - LEN(ZWasZ$)) ' KG052701
MsgUserName$ = LEFT$(ZActiveUserName$+" ",22) ' KG052701
'
' * ALWAYS RECORD THE HASH/INDIVIDUATING FIELD TO EACH RECORD LOGGED OUT
'
WasX$ = "{" + _ ' KG052701
HashValue$ + _ ' KG052701
"/" + _ ' KG052701
ZIndivValue$ + _ ' RC050901
"}" ' KG052701
IF LEN(ZWasZ$) < 65 THEN _ ' KG052701
WasX = 65 _ ' KG052701
ELSE WasX = LEN(ZWasZ$) + 2 ' KG052701
MID$(ZWasNG$,WasX) = WasX$ ' KG052701
CALL Printit (" " + ZWasZ$) ' KG052701
IF ZNewUser THEN _ ' KG052701
CALL UpdtCalr ("NEWUSER",1) : _ ' KG052701
CALL Muzak (2) ' KG052701
'
' ***** NOTIFY CALLER IF ABLE TO "AUTODOWN" ****
'
IF ZEightBit AND ZAutoDownYes THEN _
ZOutTxt$ = CHR$(9) + _
ZReturnLineFeed$ + _
"You may use AUTODOWNLOADing!" : _
CALL RingCaller : _
CALL DelayTime(4)
* REPLACING old line(s) by new
815 ZDnlds = CVI(ZUserDnlds$)
ZUplds = CVI(ZUserUplds$)
IF ZEnforceRatios THEN _
ZDLToday! = CVS(ZTodayDl$) : _
ZBytesToday! = CVS(ZTodayBytes$) : _
ZDLBytes! = CVS(ZDlBytes$) : _
ZULBytes! = CVS(ZULBytes$)
IF ZCurDate$ <> LEFT$(ZLastDateTimeOnSave$,8) THEN _
ZDLToday! = 0 : _
ZBytesToday! = 0
IF NOT GlobalsSet THEN _
GlobalsSet = ZTrue : _
ZGlobalDnlds = ZDnlds : _
ZGlobalUplds = ZUplds : _
ZGlobalDLToday! = ZDLToday! : _
ZGlobalBytesToday! = ZBytesToday! : _
ZGlobalDLBytes! = ZDLBytes! : _
ZGlobalULBytes! = ZULBytes!
'IF ZRatioRestrict# > 0 AND ZEnforceRatios THEN _
' IF ZByteMethod = 0 AND ZUplds < ZInitialCredit# THEN _
' ZUplds = ZInitialCredit# _
' ELSE IF ZByteMethod = 1 AND ZULBytes! < ZInitialCredit# THEN _
' ZULBytes! = ZInitialCredit#
GOSUB 827
LSET ZUserOption$ = MKI$(ZTimesLoggedOn) + _
MID$(ZUserOption$,3)
LSET ZLastDateTimeOn$ = ZCurDate$ + _
" " + _
ZTimeLoggedOn$
MID$(ZUserRecord$,ZStartHash,ZLenHash) = HashValue$
IF ZStartIndiv > 0 THEN _
* ------[ first line different ]------
MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$ ' RC050901
LSET ZUserName$ = ZOrigUserName$
IF (NOT ZExitToDoors) AND NOT (ZOrigMsgFile$ = ZActiveMessageFile$ AND SubBoard) THEN _
CALL AutoPage
IF NOT SubBoard THEN _
ZOrigUserFileIndex = ZUserFileIndex
IF NOT ZConfMode THEN _ ' KG070601
IF ZOrigDateTimeOn$ = "" THEN _ ' KG070601
ZOrigDateTimeOn$ = ZLastDateTimeOn$ : _ ' KG070601
ZOrigTimeLoggedOn$ = ZTimeLoggedOn$ _ ' KG070601
ELSE ZLastDateTimeOn$ = ZOrigDateTimeOn$ : ' KG070601
ZTimeLoggedOn$ = ZOrigTimeLoggedOn$ ' KG070601
GOSUB 9440
GOSUB 12991
CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
IF TurboLogon THEN _
GOTO 819
IF SkipWelcomeScreen AND _
(ZUserSecLevel >= ZAllowCallerTurbo) THEN _
GOTO 816
IF NOT SameUser THEN _
ZStopInterrupts = NOT ZWelcomeInterruptable : _
ZBypassTimeCheck = ZTrue : _
ZFileName$ = ZWelcomeFile$ : _
ZDisplayAsUnit = ZTrue : _
GOSUB 1790 : _
ZDisplayAsUnit = ZFalse
ZBypassTimeCheck = ZFalse
ZStopInterrupts = ZTrue
* REPLACING old line(s) by new
* ------[ first line different ]------
819 CALL Trim (ZWasCI$) ' KG060101
IF (ZNodeRecIndex < 2) THEN _
GOTO 821
GOSUB 4910
GOSUB 24000
GET 1,ZNodeRecIndex
MID$(ZMsgRec$,1,31) = ZActiveUserName$ + _
SPACE$(31 - LEN(ZActiveUserName$))
MID$(ZMsgRec$,40,2) = " 0"
MID$(ZMsgRec$,44,2) = STR$(ZBPS)
MID$(ZMsgRec$,55,2) = " 0"
MID$(ZMsgRec$,57,1) = "A"
MID$(ZMsgRec$,60,5) = ZTalkToModemAt$ + _
SPACE$(5 - LEN(ZTalkToModemAt$))
MID$(ZMsgRec$,72,2) = " 0"
MID$(ZMsgRec$,93,24) = ZWasCI$ + _
SPACE$(24)
PUT 1,ZNodeRecIndex
GOSUB 12985
* REPLACING old line(s) by new
821 IF ZExitToDoors THEN _
IF ZTransferFunction = 3 THEN _
ZNewUser = ZTrue : _
TurboLogon = ZFalse : _
SameUser = ZFalse : _
ZTransferFunction = 0 : _
GOTO 832 _
ELSE GOTO 832
GOSUB 1241
IF (SubBoard AND (ZOrigMsgFile$ = ZActiveMessageFile$)) _
OR ((ZUserSecLevel > ZMaxRegSec) AND (NOT ZNewUser)) THEN _
GOTO 832
ZWasZ$ = ZRegProgram$
ZTransferFunction = 3
* ------[ first line different ]------
CALL DoorExit (ZFalse) ' KG032502
ZTransferFunction = 0
GOTO 832
'
' **** ESC PRESSED ON LOCAL CONSOLE ENTERS HERE ***
'
* REPLACING old line(s) by new
822 LOCATE 24,1
CALL TakeOffHook
ZLocalUser = ZTrue
ZSnoop = ZTrue
* ------[ first line different ]------
ZSysop = ZTrue ' DR081801
ZBPS = -6
CALL CommInfo
CALL Muzak (2)
IF NOT ZEscapeInsecure THEN _
GOTO 345
ZActiveUserName$ = ZSysopPswd1$ + " " + ZSysopPswd2$
ZFirstName$ = ZSysopPswd1$
ZLastName$ = ZSysopPswd2$
ZUserLogonTime! = TIMER
ZTimeLoggedOn$ = TIME$
ZLinesPrinted = 0
GOTO 457
* REPLACING old line(s) by new
832 IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
IF ZRegDaysRemaining <= ZDaysToWarn AND _
* ------[ first line different ]------
ZRegDaysRemaining > 0 AND ZUserSecLevel > ZExpiredSec THEN _ ' KG071101
CALL QuickTPut1 ("Registration EXPIRES in" + _
STR$(ZRegDaysRemaining) + " days!") : _
CALL BufFile(ZHelpPath$+"RGXPIRE"+ZHelpExtension$,WasX) : _
IF NOT ZOk THEN CALL DelayTime (5)
IF (NOT ZReqQuesAnswered) AND _
ZReqQues$ <> "" THEN _
ZFileName$ = ZReqQues$ : _
GOSUB 11520 : _
IF ZOK THEN _
ZReqQuesAnswered = ZTrue ' KG052701
* DELETING old line(s)
837
* REPLACING old line(s) by new
900 ZNewUser = ZFalse
ActionFlag = (ZLogonMailLevel$ = "S")
LogonMailNew = (ZLogonMailLevel$ = "N")
GOSUB 1895
IF ZActiveUserName$ = "SYSOP" AND NOT ZSysop THEN _
ZActiveUserName$ = ZOrigUserName$
LogonMailNew = ZFalse
ZSubParm = 2
CALL Line25
ZSection$ = " "
ZOutTxt$ = ""
IF (NOT ZConfMode) AND (NOT SubBoard) AND NOT TurboLogon THEN _
MailCheckConfirm = ZTrue : _
ZNonStop = ZTrue : _
GOSUB 5800
MailCheckConfirm = ZFalse
ZWasQ! = MinsInDoors * 60
* ------[ first line different ]------
IF ZExitToDoors and ZDooredTo$ <> "" THEN _ ' ML082001
CALL BufFile (ZOutTxt$(7),WasX) ' ML082001
ZExitToDoors = ZFalse
GOSUB 2350
IF NOT ZPrivateDoor THEN _
GOTO 955
GOSUB 20165
CALL SetSection
ZPrivateDoor = ZFalse
GOTO 1205
* REPLACING old line(s) by new
1205 IF ZSubParm < 0 THEN _
GOTO 202
ZSubParm = 1
ZStopInterrupts = ZFalse
ZNonStop = (ZPageLength < 1)
ZWasQ = 0
* ------[ first line different ]------
IF ConfMailJoin OR (ZHomeConf$ <> "" AND ZHomeConf$ <> "MAIN") THEN _ ' TC051701
TurboLogon = (NOT ConfMailJoin) : _
ConfMailJoin = ZFalse : _
ZFF = 8 : _
ZUserIn$(2) = ZHomeConf$ : _
ZHomeConf$ = "" : _
ZWasQ = 1 : _
ZAnsIndex = 1 : _
ZLastIndex = 2 : _
ZStoreParseAt = 1 : _
ZLastCommand$ = "MJ" : _ ' KG021502
GOTO 1240
CALL SkipLine (1)
* REPLACING old line(s) by new
1210 GOSUB 41000
IF ZAnsIndex < ZLastIndex THEN _
GOTO 1232
CALL Talk (10,ZOutTxt$)
* ------[ first line different ]------
CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue) ' KG081702
IF ZExpertUser THEN _
GOTO 1230
* REPLACING old line(s) by new
* ------[ first line different ]------
1230 CALL Line25 ' KG081404
IF ZConfMode THEN _
ZOutTxt$ = ZConfName$ + ":" : _ ' KG081702
GOSUB 12978 : _ ' KG081702
CALL Talk (65,ZConfName$)
CALL DispTimeRemain (MinsRemaining) ' KG081702
IF ZMenuIndex = 6 THEN _
ZSubParm = 1 : _
CALL Library
CALL Talk (ZMenuIndex, ZOutTxt$)
* REPLACING old line(s) by new
* ------[ first line different ]------
1232 MID$(ZLastCommand$,2,1) = " " ' KG052901
IF ZCustomPUI THEN _ ' KG052901
CALL UserFace (ZUserGraphicDefault$) : _
GOSUB 12997 : _
GOTO 1235 ' KG052901
ZOutTxt$ = ZCmdPrompt$
GOSUB 12930
IF ZWasQ = 0 THEN _
GOTO 1230
* REPLACING old line(s) by new
1401 ZStackC = ZTrue
CALL SubMenu ("Which questionnaire(s), L)ist" + ZPressEnterExpert$, _
* ------[ first line different ]------
WasA1$,ZQuesPath$,".DEF","",ZUserGraphicDefault$,ZTrue,ZFalse,ZTrue,"",WasX) ' KG032502
IF ZWasQ = 0 THEN _
RETURN
IF ZSubParm = -1 THEN _
RETURN 10595
QuestHold$ = ZWasZ$
GOSUB 11520
CLOSE 2
CALL UpdtCalr (QuestHold$ + " questionnaire " + _
MID$("answeredaborted",1 - 8 * ZQuestAborted,8),2)
IF ReturnToPrompt THEN _
RETURN
GOTO 1401
'
' ***** Toggle COMMAND (UTILITIES) ****
'
* REPLACING old line(s) by new
* ------[ first line different ]------
1510 ZStackC = ZTrue ' KG081301
GOSUB 12930
IF ZWasQ=0 THEN _
RETURN
ZWasZ$ = ZUserIn$(ZAnsIndex)
CALL AllCaps (ZWasZ$)
ZFF = INSTR("ABCFHLNTX!",ZWasZ$)
IF ZFF < 1 THEN _
GOTO 1500
CALL Toggle (ZFF)
GOSUB 12997
GOTO 1500
'
' **** I - COMMAND FROM MAIN MENU (DISPLAY INITIAL WELCOME) ***
'
* REPLACING old line(s) by new
1900 GOSUB 5344
IF ZPrivateDoor THEN _
ActionFlag = ZTrue
ZPrevBase$ = ZActiveMessageFile$
ShowActive = ZFalse
IF NOT ActionFlag THEN _
CALL QuickTPut ("Checking messages in " + ConfFileName$,0) : _
ShowActive = ZTrue _
ELSE CALL QuickTPut ("Loading messages",0)
* ------[ first line different ]------
WasA1$ = "" ' KG030801
MsgCt = 0 ' KG030203
MsgsFromUser = ZFalse
ActiveMessages = 0
MailReported = ActionFlag
FirstOld = ZTrue
GOSUB 23000
MsgRec = FirstMsgRecord
MaxMsgs = VAL(MID$(ZMsgRec$,89,7))
IF MaxMsgs > WasMM THEN _
MaxMsgs = WasMM
REDIM ZMsgPtr(MaxMsgs,2)
NumDots = 0
* REPLACING old line(s) by new
1925 ZWasA = VAL(MID$(ZMsgRec$,2,4))
IF LogonMailNew THEN _
IF ZWasA <= ZLastMsgRead THEN _
GOTO 1935
IF NOT ShowActive THEN _
GOTO 1930
MailReported = ZTrue
FirstNew = (ZWasA > ZLastMsgRead)
IF FirstNew THEN _
* ------[ first line different ]------
MsgCt = 0 : _ ' KG030203
CALL SkipLine (1) : _
CALL QuickTPut1 ("NEW Mail for YOU (* = Private)") _
ELSE IF FirstOld THEN _
CALL SkipLine (1) : _
CALL QuickTPut1 ("OLD Mail for YOU (* = Private)") : _
FirstOld = ZFalse
ShowActive = NOT FirstNew
* REPLACING old line(s) by new
1930 CALL QuickTPut (LEFT$(ZMsgRec$,5),0)
* ------[ first line different ]------
MsgCt = MsgCt + 1 ' KG030203
IF MsgCt MOD 15 = 0 THEN _ ' KG030203
CALL SkipLine (1) : _ ' KG030203
CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue) ' KG030203
* REPLACING old line(s) by new
* ------[ first line different ]------
1940 MsgsFromUser = MsgsFromUser + 1 ' KG080501
WasA1$ = WasA1$ + LEFT$(ZMsgRec$,5) ' KG080501
* REPLACING old line(s) by new
1950 IF NOT MailReported THEN _
ZOutTxt$ = "Sorry, " + _
ZFirstName$ + _
* ------[ first line different ]------
", No " + ZUserIn$(0) + "mail for you" : _ ' DA071701
GOSUB 12975
IF MsgsFromUser = 0 OR NOT ZMsgReminder THEN _
GOTO 1961
IF ActionFlag THEN _
GOTO 1961
ZOutTxt$ = "Mail you left"
GOSUB 12976
* REPLACING old line(s) by new
1960 WasK = 1
* ------[ first line different ]------
FOR MsgCt = 1 TO MsgsFromUser ' KG030203
ZOutTxt$ = MID$(WasA1$,WasK,5) ' KG030801
WasK = WasK + 5
GOSUB 12978
IF MsgCt MOD 15 = 0 THEN _ ' KG030203
CALL SkipLine (1) : _ ' KG030203
CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue) ' KG030203
NEXT
WasA1$ = "" ' KG030801
CALL SkipLine (1)
CALL QuickTPut1 ("Please K)ill old/unneeded msgs")
* REPLACING old line(s) by new
2000 QuotedReply = ZFalse
MsgFrom$ = ZActiveUserName$
* ------[ first line different ]------
SysopMsg = ZFalse ' MB051601
GOSUB 1893 ' DA071101
* REPLACING old line(s) by new
2020 CALL MessageTo (HighestUserRecord,MsgTo$,MsgFrom$,RcvrRecNum,Found)
IF MsgTo$ = "" THEN _
RETURN
* ------[ first line different ]------
IF ZSysopComment OR SysopMsg THEN _ ' ML061904
GOTO 2100 ' ML061904
IF ZReply OR MsgFwd THEN _
Found = ZTrue : _
CALL Trim (MsgTo$): _
GOTO 2035 _
ELSE Subject$ = ""
GOSUB 2065
* REPLACING old line(s) by new
* ------[ first line different ]------
2035 IF QuotedReply THEN _ ' ML061904
RETURN
GOTO 2100
'
' ***** SET/CHANGE SUBJECT FOR A MESSAGE ***
'
* REPLACING old line(s) by new
2065 IF Subject$ <> "" THEN _
* ------[ first line different ]------
ZOutTxt$ = "Change subject from " + _ ' DA071701
Subject$ + _
" to" : _
GOSUB 12932 _
ELSE ZOutTxt$ = "Subject" : _
ZParseOff = ZTrue : _
GOSUB 12932
IF LEN(ZUserIn$) > 25 THEN _
ZOutTxt$ = "25 Char. Max" : _
GOSUB 12979 : _
GOTO 2065
IF ZWasQ = 0 THEN _
IF Subject$ <> "" THEN _
RETURN _
ELSE GOSUB 2435 : _
IF ZYes THEN _
RETURN 5160 _
ELSE GOTO 2065
Subject$ = ZUserIn$
CALL AllCaps (Subject$)
OrigSubject$ = Subject$
RETURN
'
' ***** ENTER MAIN BODY OF MESSAGE ****
'
* REPLACING old line(s) by new
2520 ZOutTxt$ = "Up to and including Line # (ENTER =" + STR$(Mark1) + ")"
GOSUB 3302
IF ZWasQ = 0 THEN _
Mark2 = Mark1 _
ELSE Mark2 = ZTestedIntValue
CALL SkipLine(1)
IF Mark1 > Mark2 THEN _
* ------[ first line different ]------
ZOutTxt$ = "Beginning exceeds end. Block NOT deleted" : _ ' DA071701
GOSUB 12979 : _
GOTO 2555
IF Mark1 <= MsgLockLines THEN _
ZOutTxt$ = "You can NOT delete lines 1 -" + STR$(MsgLockLines) + "!" : _
GOSUB 12979 : _
GOTO 2555
GOTO 2530 ' DA071702
* REPLACING old line(s) by new
* ------[ first line different ]------
2530 ZOutTxt$ = "Delete lines " + STR$(Mark1) + "-" + _ ' DA071702
MID$(STR$(Mark2),2) + " (Y,[N],L)ist)" ' KG072605
GOSUB 12930
Temp$ = ZUserIn$(ZAnsIndex) ' DA071702
CALL AllCaps(Temp$) ' DA071702
IF Temp$ = "L" THEN GOTO 2522 ' KG072605
IF NOT ZYes THEN _
ZOutTxt$ = "NOT Deleted" : _
GOSUB 12979 : _
GOTO 2555
* REPLACING old line(s) by new
2600 ZOutTxt$ = "Edit"
GOSUB 3300
IF ZTestedIntValue <= MsgLockLines THEN _
* ------[ first line different ]------
ZOutTxt$ = "Not permitted to change 1st" + _ ' KG071301
STR$(MsgLockLines) + " line(s)" : _
GOSUB 12979 : _
GOTO 2300
CALL EditALine (ZTestedIntValue)
IF ZSubParm < 0 THEN _
GOTO 202
GOTO 2300
* REPLACING old line(s) by new
3010 ZStopInterrupts = ZFalse
CALL SkipLine (1)
* ------[ first line different ]------
IF (ZWasQ = 1 OR MsgFwd) AND NOT ZGetExtDesc THEN _ ' ML061905
WasL = 1 : _
ZOutTxt$ = ZFG3$ + "To: " + _
MsgTo$ + _
ZFG4$ + " Re: " + _
Subject$ + ZEmphasizeOff$ : _
GOSUB 12979 : _
CALL QuickTPut (MID$(" ",1,-4 * (NOT ZRemoteEcho)),0) : _
GOSUB 3200
* REPLACING old line(s) by new
* ------[ first line different ]------
3020 IF ZGetExtDesc THEN WasL = 1 ' ML071501
FOR WasX = WasL TO ZLinesInMsg ' ML071501
CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse)
IF ZNo OR ZRet THEN _
WasX = ZLinesInMsg + 1 _
ELSE ZOutTxt$ = RIGHT$(STR$(WasX),2) + _
": " + _
ZOutTxt$(WasX) : _
GOSUB 12979
NEXT
RETURN
'
' ***** CHANGE MARGIN WIDTH ****
'
* REPLACING old line(s) by new
* ------[ first line different ]------
3405 SaveReplyStatus = ZReply ' ML061904
ZReply = ZTrue ' ML061904
IF SysopMsg THEN _ ' ML061904
MsgPswd$ = "^READ^" _ ' ML061904
ELSE CALL MsgProt (MsgTo$,Found,MsgPswd$) ' ML061904
SysopMsg = ZFalse ' ML061904
ZReply = SaveReplyStatus ' ML061904
GOSUB 4910 ' ML061904
MsgRecSave$ = ZMsgRec$
MsgCorrected = ZFalse
GOSUB 23100
ZOutTxt$ = "Adding new msg #" + _
STR$(HighMsgNumber + 1)
IF NOT ZLocalUser THEN _
CALL UpdtCalr (ZOutTxt$,1)
GOSUB 12978
ZWasSL = 0
ZWasN$ = ""
ZLastIndex = 0
HighMsgNumber = HighMsgNumber + 1 ' DA061001
* REPLACING old line(s) by new
4330 QuickScanMsgs = ZFalse
ReadMsgs = ZTrue
HiLiteRec = -1
ScanMsgs = ZFalse
MsgStart = 6
MsgEnd = 100
IF ZLocalUserMode OR NOT ZLocalUser THEN _
IF ReadMsgIn$ <> ZActiveMessageFile$ THEN _
ReadMsgIn$ = ZActiveMessageFile$ : _
CALL UpdtCalr ("Read Messages in " + ReadMsgIn$,1)
GOSUB 1300
* ------[ first line different ]------
GOTO 4350 ' KG022701
'
' **** S - COMMAND FROM MAIN MENU (SCAN MESSAGE HEADERS) ***
'
* DELETING old line(s)
4338
* REPLACING old line(s) by new
4360 ZWasLG$(11) = ZWasZ$
NumMsgsSelected = ZLastIndex
* ------[ first line different ]------
MsgIndex = ZAnsIndex ' KG022701
ZLastIndex = 0
ToRequested = ZFalse
FromRequested = ZFalse
IF ZPageLength < 1 THEN _
ZNonStop = ZTrue
* REPLACING old line(s) by new
4370 MsgIndex = MsgIndex + 1 ' KG022701
* REPLACING old line(s) by new
* ------[ first line different ]------
4371 IF MsgIndex <= NumMsgsSelected THEN _ ' KG022701
IF LEN(ZUserIn$(MsgIndex)) = 1 AND _ ' KG073102
INSTR("Cc",ZUserIn$(MsgIndex)) > 0 THEN _ ' KG022701
GOTO 4370 _
ELSE _
CALL CheckInt (ZUserIn$(MsgIndex)) : _ ' KG022701
IF ZErrCode <> 0 THEN _
ZWasEL = 4371 : _
GOTO 13000 _
ELSE CurMsg = ZTestedIntValue : _
ZAnsIndex = MsgIndex : _ ' KG022701
GOTO 4415
* REPLACING old line(s) by new
* ------[ first line different ]------
4400 GOSUB 12932 ' KG022701
IF ZWasQ = 0 THEN _
RETURN
* REPLACING old line(s) by new
* ------[ first line different ]------
4402 IF LEN(ZUserIn$(ZAnsIndex)) = 1 THEN _ ' KG022701
IF INSTR("Qq",ZUserIn$) THEN _
RETURN _
ELSE IF INSTR("Hh?",LEFT$(ZUserIn$(ZAnsIndex),1)) THEN _ ' KG081302
ZFileName$ = ZHelpPath$ + "MR" + ZHelpExtension$ : _
GOSUB 1790 : _
GOTO 4390
MsgIndex = 0 ' KG022701
NumMsgsSelected = ZWasQ
GOTO 4370
* REPLACING old line(s) by new
4416 IF INSTR("Mm",ZUserIn$(ZAnsIndex)) THEN _
AddressedToUser = ZTrue : _
GOTO 4370
ZWasA = INSTR("FfTt",ZUserIn$(ZAnsIndex))
IF ZWasA > 0 THEN _
ToRequested = (ZWasA > 2) : _
FromRequested = (ZWasA < 3) : _
GOTO 4370
IF CurMsg = 0 THEN _
IF SearchHeader$ <> "" THEN _
GOTO 4370 _
* ------[ first line different ]------
ELSE SearchString$ = ZUserIn$(ZAnsIndex) : _ ' KG022701
CALL AllCaps (SearchString$) : _
CALL Remove (SearchString$,CHR$(34) + CHR$(39)) : _
SearchHeader$ = SearchString$ : _
SubInHeader$ = SearchHeader$ : _
GOTO 4370
CALL SkipLine (1)
* REPLACING old line(s) by new
4600 IF ScanMsgs THEN _
GOSUB 8020 : _
GOTO 4630
IF NOT JustSearching THEN _
GOSUB 8000 : _
IF QuotedReply THEN _
QuotedReply = ZFalse : _
* ------[ first line different ]------
GOTO 4603 ' KG081303
IF ZRet THEN _
GOTO 4630
CanChangeSec = (ZUserSecLevel => ZSecChangeMsg)
ShowKill = - ((ZUserSecLevel >= ZOptSec(9)) AND (UserInHeader OR CanKill)) ' KG081601
IF ZExpertUser THEN _
WasA1$ = ",H,R,T,=,+,-" + _ ' KG081303
MID$(",F",1,- (UserInHeader OR CanChangeSec) * 2) + _
MID$(",K",1,ShowKill * 2) + _ ' KG081601
MID$(",U",1,- (ZUserSecLevel >= ZOptSec(54)) * 2) + _
MID$(",S",1, - CanChangeSec * 2) : _ ' KG081303
GOTO 4602 ' KG081303
* INSERTING new line(s)
4601 WasA1$ = ",H)lp,R)eply,T)hread,=,+,-" + _ ' KG081901
MID$(",F)wd",1, - (UserInHeader OR CanChangeSec) * 5) + _
MID$(",K)ill",1, ShowKill * 6) + _ ' KG081601
MID$(",U)sr",1,- (ZUserSecLevel >= ZOptSec(54)) * 6) + _ ' KG081303
MID$(",S)ec",1, - CanChangeSec * 5)
4602 ZTurboKey = -ZTurboKeyUser ' KG081303
IF JustSearching OR NOT JustReplied THEN _
GOTO 4603 ' KG081303
JustReplied = ZFalse
CALL AskMore (WasA1$,ZTrue,ZFalse,ZAnsIndex,ZFalse)
CALL SkipLine (1)
IF ZNo THEN _
RETURN
CALL AllCaps (ZUserIn$(1)) ' KG081303
ZReply = (ZReply OR ZUserIn$(1) = "R") ' KG081303
IF ZUserIn$(1) <> "=" THEN _ ' KG081303
GOTO 4605 ' KG081303
CALL SkipLine (1)
4603 IF NOT ZPswdFailed THEN _ ' KG081303
GOTO 4604 ' KG081303
IF WasPG AND (NOT ZNonStop) THEN _
ZAttemptsAllowed = 2 : _
ZSubParm = 2 : _
CALL PassWrd
IF ZPswdFailed THEN _ ' KG081303
GOTO 4629
4604 GOSUB 9000 ' KG081303
JustReplied = ZFalse
DontPrint = ZFalse
IF JustSearching THEN _
GOTO 4629
IF ZAnsIndex > NumMsgsSelected THEN _
GOTO 4650
CALL SkipLine (1)
GOSUB 41000 ' KG081303
ZKillMessage = ZFalse
ZReply = ZFalse
IF ZNonStop THEN _
GOTO 4629
ZTurboKey = -ZTurboKeyUser ' KG081303
CALL AskMore (WasA1$,ZTrue,ZFalse,WasXX,ZFalse)
IF ZNo THEN _
ZAnsIndex = ZLastIndex + 1 : _
RETURN
CALL AllCaps(ZUserIn$(1))
ZReply = (ZReply OR ZUserIn$(1) ="R")
4605 ON INSTR(" FUST+-KRH?=",LEFT$(ZUserIn$(1),1)) GOTO _ ' KG081303
4620,4606,4607,4608,4609,4610,4610,4611,4621,4612,4601,4613 ' KG081303
GOTO 4620 ' KG081303
4606 IF NOT (UserInHeader OR CanChangeSec) THEN _ ' Forward ' KG081303
GOTO 4620 ' KG081303
MsgFwd = ZTrue
GOTO 4623
4607 IF ZUserSecLevel < ZOptSec(54) THEN _ ' User edit ' KG081303
GOTO 4620 ' KG081303
EditFromRead = 1
ZReply=ZTrue
CALL PutMsgAttr
TempHashValue$ = MsgFrom$
CALL Trim (TempHashValue$)
IF TempHashValue$ = "SYSOP" THEN _
TempHashValue$ = ZSysopPswd1$ + " " + ZSysopPswd2$
GOTO 11000
4608 IF CanChangeSec THEN _ ' Security to read ' KG081303
CALL PutMsgAttr : _
GOSUB 4665 : _
ZReply = ZFalse : _
QuotedReply = ZTrue : _
CALL GetMsgAttr : _
DontPrint = ZTrue : _
ZUserIn$ = "=" : _
JustReplied = ZTrue : _
GOTO 4560
GOTO 4620 ' KG081303
4609 CALL SetThread (CurMsg, OrigSubject$) ' Thread ' KG081303
IF ZWasQ > 0 THEN _
SearchHeader$ = ZUserIn$(2) : _
SubInHeader$ = SearchHeader$ : _
CALL Trim (SubInHeader$) : _
GOTO 4352
GOTO 4620 ' KG081303
* REPLACING old line(s) by new
* ------[ first line different ]------
4610 ZWasA = INSTR(" +-",ZUserIn$(1)) ' +/- read direction ' KG081303
CurMsg = CurMsg + 5 - 2 * ZWasA ' KG081303
Forward = (ZWasA = 2)
Reverse = (NOT Forward)
SearchString$ = ""
IF Reverse THEN _
GOTO 4490 _
ELSE GOTO 4450
* REPLACING old line(s) by new
* ------[ first line different ]------
4611 IF (UserInHeader OR CanKill) THEN _ ' Kill ' KG081303
IF ZUserSecLevel >= ZOptSec(9) THEN _
CALL PutMsgAttr : _
MsgToKill = CurMsg : _
Temp = ZWasQ : _
GOSUB 3950 : _
CALL GetMsgAttr : _
GOTO 4629 _
ELSE ZViolation$ = "MORE KILL" : _
GOSUB 1380 : _
GOTO 4629
GOTO 4620 ' KG081303
* INSERTING new line(s)
4612 ZFileName$ = ZHelp$(7) ' H - help ' KG081303
GOSUB 1790 ' KG081303
GOTO 4601 ' KG081303
* REPLACING old line(s) by new
* ------[ first line different ]------
4613 CALL SkipLine (1) ' = read again ' KG081303
GOTO 4560 ' KG081303
* DELETING old line(s)
4614
4616
4617
4618
* REPLACING old line(s) by new
* ------[ first line different ]------
4621 IF ZUserSecLevel < ZOptSec(5) THEN _ ' Reply
ZViolation$ = "MORE RE" : _
GOSUB 1380 : _
ZReply = ZFalse : _
GOTO 4629
IF LEFT$(OrigSubject$,3) <> "(R)" THEN _ ' ML062202
OrigSubject$ = "(R)" + _
LEFT$(OrigSubject$,22)
* REPLACING old line(s) by new
* ------[ first line different ]------
4650 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue) ' KG081404
CALL SkipLine (1) ' KG082102
CALL QuickTPut1 ("--End Msgs--") ' KG081404
RETURN
* REPLACING old line(s) by new
4660 IF RemoteSysop THEN _
CALL MsgNameMatch ("SYSOP",SysopFullName$,6,MsgFromCaller) : _
CALL MsgNameMatch ("SYSOP",SysopFullName$,37,MsgToCaller) _
* ------[ first line different ]------
ELSE WasX$ = LEFT$("SYSOP",-5*ZSysop) : _ ' KG060903
CALL MsgNameMatch (MsgUserName$,WasX$,6,MsgFromCaller) : _ ' KG060903
CALL MsgNameMatch (MsgUserName$,WasX$,37,MsgToCaller) ' KG060903
UserInHeader = (MsgFromCaller OR MsgToCaller)
RETURN
'
' **** S - CHANGE MESSAGE SECURITY ***
'
* REPLACING old line(s) by new
4710 ZOutTxt$ = "Page " + _
ZSysopFirstName$ + _
" (Y/[N])"
CALL SkipLine (1)
GOSUB 12999
IF NOT ZYes THEN _
RETURN
PageCount = 0
ZOutTxt$ = "Paging " + _
* ------[ first line different ]------
ZSysopFirstName$ ' KG071301
GOSUB 12978
PageTimeStart! = TIMER
* REPLACING old line(s) by new
4755 CALL QuickTPut1 ("Try a msg or comment")
* ------[ first line different ]------
ZPageStatus$ = "PG!" ' DA080902
CALL UpdtCalr ("Operator paged " + LEFT$(TIME$,5),2)
RETURN
* REPLACING old line(s) by new
* ------[ first line different ]------
4900 CALL UpdtCalr ("Entered " + ZConfName$,2) ' KG052702
CALL QuickTPut1 ("Welcome to " + ZConfName$)
* REPLACING old line(s) by new
5301 ZStackC = ZTrue
CALL SubMenu ("What conference, L)ist, M)ain ([ENTER] quits)",_
WasA1$,MsgDrvPath$,_
* ------[ first line different ]------
"M.DEF","M",ZUserGraphicDefault$,ZTrue,ZFalse,ZFalse,"C.DEF",WasX) ' KG032502
IF ZWasQ = 0 THEN _
RETURN
IF ZSubParm = -1 THEN _
RETURN 10595
* REPLACING old line(s) by new
5335 IF Found THEN _
GOSUB 9500 : _
ZMainUserFileIndex = -(SubBoard * ZUserFileIndex)_
-((NOT SubBoard) * ZMainUserFileIndex) : _
Temp = -(SubBoard * ZMinLogonSec) _
-((NOT SubBoard) * AutoAddSec) : _
WasI = (ZUserSecLevel < OrigMainSec) : _
WasJ = (ZUserSecLevel < Temp) : _
WasK = (WasI AND WasJ) : _
IF WasK THEN _
ZOutTxt$ = "you have been locked out of" : _
GOTO 5341 _
ELSE GOSUB 5375 : _
GOTO 5345
'
' **** USER NOT FOUND. AUTO-ADD TO SUBBOARD IF SUFFICIENT SECURITY ***
'
ZNewUser = SubBoard
IF SubBoard THEN _
AutoAddSec = ZMinLogonSec
* ------[ first line different ]------
IF (ZOrigSec >= AutoAddSec) AND _ ' KG080601
(ZUserFileIndex > 0) AND (ZMainUserFileIndex > 0) THEN _
LSET ZUserRecord$ = UserRecordHold$ : _
CALL QuickTPut1 ("MEMBER privileges granted in " + ZConfName$) : _
MID$(ZUserOption$,3,2) = MKI$(0) : _
MID$(ZUserOption$,1,2) = MKI$(0) : _
ZActiveUserName$ = LEFT$(UserRecordHold$,30) : _
CALL Trim (ZActiveUserName$) : _
Temp = -(SubBoard * ZDefaultSecLevel) _
-((NOT SubBoard) * ZUserSecSave) : _
GOSUB 5370 : _
Temp = -(ZWasA * ZSysopSecLevel) - ((NOT ZWasA) * Temp) : _
LSET ZSecLevel$ = MKI$(Temp) : _
ZUserSecLevel = Temp : _
GOSUB 5375 : _
ZPageLength = ZPageLengthDef : _
GOSUB 12986 : _
GOSUB 12630 : _
UpdateDate = ZTrue : _
Found = ZTrue : _
GOTO 5335
IF ZOrigSec >= AutoAddSec THEN _ ' KG080601
CALL QuickTPut1 ("GUEST privileges granted in " + ZConfName$) : _
ZActiveUserFile$ = PrevUser$ : _
UpdateDate = ZFalse : _
ZUserFileIndex = PrevIndex : _
GOSUB 5382 : _
ZUserFileIndex = 0 : _
GOTO 5345
ZNewUser = ZFalse
* REPLACING old line(s) by new
5348 GOSUB 12987
GOSUB 12990
IF SubBoard THEN _
ZHasDoored = ZFalse : _
ZActiveFMSDir$ = "" : _
* ------[ first line different ]------
ZTimeLoggedOn$ = TIME$ : _ ' KG070601
BoardCheckDate$ = LEFT$("00-00-00",-ZNewUser*8) + _ ' KG081001
LEFT$(ZLastDateTimeOn$,-(NOT ZNewUser)*8) : _ ' KG081001
RETURN 108
GOSUB 827
IF UpdateDate THEN _
BoardCheckDate$ = ZLastDateTimeOn$ : _
ZTimeLoggedOn$ = TIME$ : _ ' KG070601
LSET ZLastDateTimeOn$ = ZCurDate$ + _
" " + _
ZTimeLoggedOn$ : _
GOSUB 9440 : _
GOSUB 12991
IF PrevUSL <> ZUserSecLevel THEN _
CALL SetPrompt
GOSUB 1241
RETURN 852
'
' **** JOIN M)AIN ***
'
* REPLACING old line(s) by new
5350 IF ZConfName$ <> "MAIN" THEN _
* ------[ first line different ]------
CALL QuickTPut1 ("Rejoining " + OrigMsgName$) ' KG082003
ConfFileName$ = OrigMsgName$
ZNewsFileName$ = OrigNewsFileName$
TurboLogon = ZTrue
ZWasQ = 0
ZInConfMenu = ZTrue
IF ZActiveUserName$ = "SYSOP" THEN _
ZActiveUserName$ = ZSysopPswd1$ + " " + ZSysopPswd2$ : _
CALL Trim (ZActiveUserName$)
ZConfigFileName$ = ZOrigCnfg$
CALL ReadDef (ZConfigFileName$)
IF ZOrigMsgFile$ <> ZActiveMessageFile$ THEN _
ZActiveMessageFile$ = ZOrigMsgFile$ : _
GOSUB 5343
IF ZOrigUserFile$ <> ZActiveUserFile$ THEN _
GOSUB 5380 : _
ZActiveUserFile$ = ZOrigUserFile$ : _
ZActiveUserName$ = ZOrigUserName$ : _
GOSUB 12598 : _
GOSUB 12990 : _
IF Found THEN _
GOSUB 9500 : _
ZMainUserFileIndex = ZUserFileIndex : _
CALL SetPrompt : _
CALL XferType (2,ZTrue) _
ELSE ZUserFileIndex = 0 : _
ZMainUserFileIndex = 0
CALL UpdtCalr ("Exited " + ZConfName$,2) ' KG082003
ZConfName$ = "MAIN" ' KG082003
GOSUB 2350
ZUplds = ZGlobalUplds
ZDnlds = ZGlobalDnlds
ZDLToday! = ZGlobalDLToday!
ZBytesToday! = ZGlobalBytesToday!
ZDLBytes! = ZGlobalDLBytes!
ZULBytes! = ZGlobalULBytes!
* REPLACING old line(s) by new
5400 CALL SkipLine(2)
* ------[ first line different ]------
CALL QuickTPut1 ("Your PROFILE") ' KG072603
* REPLACING old line(s) by new
8040 IF LEN(MsgTo$) < 23 THEN _
MsgTo$ = MsgTo$ + _
SPACE$(23 - LEN(MsgTo$))
Subject$ = MID$(ZMsgRec$,76,25)
CALL Trim (Subject$)
* ------[ first line different ]------
CALL AllCaps (Subject$) ' KG051501
OrigSubject$ = Subject$
IF ZPswdFailed THEN _
Subject$ = WasSJ$
* REPLACING old line(s) by new
9085 IF LEFT$(ZOutTxt$,1) = ZStartOfHeader$ OR _
LEFT$(ZOutTxt$,LEN(ZScreenOutMsg$)) = ZScreenOutMsg$ THEN _
GOTO 9050
ZOutTxt$(ZLinesInMsg) = ZOutTxt$
IF Bracketed THEN _
Bracketed = ZFalse : _
HiLitedLine = ZLinesInMsg
ZLinesInMsg = ZLinesInMsg + 1
IF ZLinesInMsg > MsgDimXtra THEN _
ZLinesInMsg = ZLinesInMsg - 1 : _
CALL SkipLine (1) : _
CALL QuickTPut1 ("Message too long. Truncated to " + STR$(MsgDimXtra) + " lines!") : _
ZOutTxt$ = "" : _
RETURN
* ------[ first line different ]------
IF NOT DontPrint THEN _ ' KG030201
GOSUB 12979 : _ ' KG030201
IF ZRet THEN _
ZOutTxt$ = "" : _
RETURN _ ' KG030201
ELSE CALL AskMore ("",ZTrue,ZTrue,ZAnsIndex,ZFalse) : _ ' KG030201
IF ZNo THEN _ ' KG030201
DontPrint = ZTrue ' KG030201
GOTO 9050
* REPLACING old line(s) by new
9701 CALL SubMenu ("Read what bulletin(s), L)ist, S)ince, N)ews ([ENTER] = none)",_
WasA1$, ZBulletinPrefix$,"",ReturnOn$,_
* ------[ first line different ]------
ZUserGraphicDefault$,ZFalse,ZFalse,ZFalse,"",WasX) ' KG032502
IF ZWasQ = 0 THEN _
RETURN
CALL CheckCarrier
IF ZSubParm = -1 THEN _
RETURN 10595
IF (ZWasZ$ = "*" OR ZWasZ$ = "S") THEN _
ZPrevPrefix$ = "" : _
GOTO 9760
ZStopInterrupts = ZFalse
IF ZWasZ$ = "N" THEN _
GOSUB 1242 : _
IF WasZ <> 0 THEN _
CALL QuickTPut1 ("No NEWS available") : _
GOTO 9701 _
ELSE GOTO 9703
CALL BufFile (ZFileName$,ZAnsIndex)
* REPLACING old line(s) by new
9760 ' **** [entry when want review plus chance to read] *********
GOSUB 9750
IF NumNewBullets > 0 THEN _
ZLastIndex = NumNewBullets + 1 : _
* ------[ first line different ]------
ZOutTxt$ = "Read ALL new bulletins ([Y],N)" : _ ' DA071701
GOSUB 12999 : _
IF NOT ZNo THEN _
ZAnsIndex = 1: _
GOTO 9700
ZLastIndex = 0
IF ZAnsIndex < 1 THEN _
RETURN
GOTO 9701
'
' * W - COMMAND FROM MAIN MENU (WHO'S ON THE OTHER NODES)
'
* REPLACING old line(s) by new
10097 IF WasI > HighestUserRecord OR ZRet THEN _
GOTO 10099
GET 5,WasI
WasX$ = MID$(ZUserRecord$,ZStartHash,ZLenHash)
* ------[ first line different ]------
IF ASC(WasX$)=0 OR LEFT$(WasX$,3)=" " THEN _ ' KG073101
GOTO 10098
IF INSTR(WasX$,ZWasZ$) > 0 OR ZSysopSecLevel <= CVI(MID$(ZUserRecord$,47,2)) THEN _
IF NOT ZSysop THEN _
GOTO 10098
CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse)
IF ZNo OR ZSubParm = -1 THEN _
GOTO 10099
ZOutTxt$ = LEFT$(WasX$,36) + ZCityState$ + ZLastDateTimeOn$
GOSUB 12979
* REPLACING old line(s) by new
10570 IF MinsRemaining > 1 AND (ZTurboKeyUser OR NOT ZExpertUser) THEN _
* ------[ first line different ]------
ZOutTxt$ = "Log off (Y,[N])" : _ ' DA071701
GOSUB 12930 : _
IF NOT ZYes THEN _
RETURN
GetOut = ZTrue
GOTO 10560
* REPLACING old line(s) by new
10970 IF NOT ZDoorsAvail OR _
(ZRequiredRings = 0 AND NOT ZNoDoorProtect) THEN _
* ------[ first line different ]------
CALL QuickTPut1 ("No doors available") : _ ' KG072604
RETURN
IF ZTimeLock AND 1 AND NOT ZHasDoored THEN _
CALL TimeLock : _
IF NOT ZOK THEN _
RETURN
* REPLACING old line(s) by new
10974 WasA1$ = ZMenu$(5)
CALL Talk (5,ZOutTxt$)
ZStackC = ZTrue
CALL SubMenu ("Open which door, L)ist" + ZPressEnterExpert$, _
WasA1$,"",".BAT","",_
* ------[ first line different ]------
ZUserGraphicDefault$,ZTrue,ZFalse,ZFalse,"",InMenu) ' KG032502
IF ZWasQ = 0 THEN _
RETURN
IF ZSubParm = -1 THEN _
RETURN 10595
* REPLACING old line(s) by new
10986 ZWasZ$ = ZFileName$
* ------[ first line different ]------
CALL DoorExit (NOT InMenu) ' KG032502
GOTO 10974 ' KG032502
'
' * 5 - COMMAND FROM SYSOP MENU (USER FILE MAINTENANCE)
'
* REPLACING old line(s) by new
11000 WasTU = ZUserFileIndex
CALL DefaultU
UserRecordHold$ = ZUserRecord$
RegDateHold$ = ZRegDate$
* ------[ first line different ]------
UserSecLevelSave = ZUserSecLevel ' ML062201
* REPLACING old line(s) by new
11001 ZStopInterrupts = ZTrue
WasI = 1
ScanUsers = ZFalse
* ------[ first line different ]------
IF EditFromRead = 1 THEN GOTO 11341 ' KG070901
ZOutTxt$ = "A)dd, L)st, P)rt, M)od, S)can users"
GOSUB 12930 ' KG070901
* REPLACING old line(s) by new
11003 IF ZWasQ = 0 THEN _
IF EditFromRead > 0 THEN _
GOTO 11325 _
ELSE _
ZUserFileIndex = WasTU : _
GOTO 20093
WasQQ = 0
* ------[ first line different ]------
ZWasZ$ = LEFT$(ZUserIn$(ZAnsIndex),1) ' KG070901
CALL AllCaps (ZWasZ$)
IF ZWasZ$ = "A" THEN _
GOTO 12300 _
ELSE IF ZWasZ$ = "M" THEN _
ZStopInterrupts = ZTrue _
ELSE IF ZWasZ$ = "P" THEN _
WasQQ = ZTrue _
ELSE IF ZWasZ$ = "S" THEN _
ScanUsers = ZTrue : _
ZStopInterrupts = ZTrue _
ELSE IF ZWasZ$ <> "L" THEN _
GOTO 11001
* REPLACING old line(s) by new
11005 CALL OpenUser (HighestUserRecord)
GOSUB 9450
WasZ = 1
IF ScanUsers THEN _
ZOutTxt$ = "Scan for N)ame, P)wd, C)" + ZUserLocation$ + ", L)evel" + _
LEFT$(", H)ash id",-9*(ZStartHash > 1 AND ZLenHash > 0)) : _
* ------[ first line different ]------
GOSUB 12930 : _ ' KG070901
ZOutTxt$ = "" : _
ScanFunction$ = LEFT$(ZUserIn$(1),1) : _
CALL AllCaps (ScanFunction$) : _
ZCR = 0 : _
GOSUB 12979 : _
GOSUB 12966 : _
GOTO 12962
* REPLACING old line(s) by new
11110 ZOutTxt$ = "D)el,F)ind,M)enu,N)ewPW,P)rnt,R)eset gr,Q)uit,S)ecLvl,U)ser#,X)fer"
IF ZRestrictByDate THEN _
ZOutTxt$ = ZOutTxt$ + _
",$)RegDate"
* ------[ first line different ]------
GOSUB 12930 ' KG070901
IF NOT ScanUsers AND ZWasQ = 0 THEN _
GOTO 11310
* REPLACING old line(s) by new
* ------[ first line different ]------
11115 ZWasZ$ = LEFT$(ZUserIn$(ZAnsIndex),1) ' KG070901
CALL AllCaps (ZWasZ$)
WasX = INSTR("DNPQFSMR$UX",ZWasZ$)
IF ZWasZ$ = "" AND ScanUsers THEN _
GOTO 12965
ON WasX GOTO 11130,11160,11220,11320,11340,11390,11330,11400,11450,11127,11490
GOTO 11110
* REPLACING old line(s) by new
11127 ZOutTxt$ = "What record #"
* ------[ first line different ]------
GOSUB 12932 ' KG070901
GOTO 11125
'
' * D - COMMAND FROM 5- USER MAINTENANCE OPTIONS (DELETE USER)
'
* REPLACING old line(s) by new
11340 ZOutTxt$ = ZPromptHash$ + _
" to find"
CALL SkipLine (1)
* ------[ first line different ]------
ZParseOff = ZTrue ' KG070901
GOSUB 12932 ' KG070901
IF ZWasQ = 0 THEN _
GOTO 11340
TempHashValue$ = ZUserIn$
* REPLACING old line(s) by new
11395 ZOutTxt$ = "New sec level"
* ------[ first line different ]------
GOSUB 12932 ' KG070901
ZWasZ$ = ZUserIn$(ZAnsIndex) ' KG070901
WasOF = VAL(ZWasZ$)
IF WasOF > ZUserSecLevel THEN _
WasOF = ZUserSecLevel
RETURN
'
' * R - COMMAND FROM 5- USER MAINTENANCE OPTIONS (RESET USER GRAPHICS)
'
* REPLACING old line(s) by new
11450 ZOutTxt$ = "Enter new registration date (MM-DD-YY)"
* ------[ first line different ]------
GOSUB 12932 ' KG070901
IF ZWasQ = 0 THEN _
GOTO 11015
* REPLACING old line(s) by new
* ------[ first line different ]------
11455 WorkDate$ = ZUserIn$(ZAnsIndex) ' KG070901
IF LEN(WorkDate$) < 8 THEN _
GOTO 11450
GOSUB 11470
IF NOT ZOK THEN _
GOTO 11450
LSET ZUserOption$ = LEFT$(ZUserOption$,10) + _
ZRegDate$ + _
MID$(ZUserOption$,13)
GOSUB 11480
ZRegDate$ = RegDateHold$
GOTO 11290
'
' * CALCULATE REGISTRATION DATES
'
* REPLACING old line(s) by new
12300 WasA1$ = ""
* ------[ first line different ]------
Attempts = 0 ' ML062201
FirstNameSave$ = ZFirstName$
LastNameSave$ = ZLastName$
ActiveUserNameSave$ = ZActiveUserName$
CityStateSave$ = ZWasCI$
HashValueSave$ = HashValue$
IndivValueSave$ = ZIndivValue$ ' RC050901
GOSUB 12500
GOSUB 12840
GOSUB 12850
GOSUB 12598
IF ZUserFileIndex = 0 THEN _
GOSUB 12984 : _
GOTO 12330
IF Found THEN _
WasD$ = "User already exists" : _
GOSUB 1315 : _
GOSUB 12984 : _
GOTO 12330
* REPLACING old line(s) by new
12310 GOSUB 12630
GOSUB 12800
GOSUB 11395
ZTempSecLevel = WasOF
GOSUB 12900
LSET ZLastDateTimeOn$ = ZCurDate$ + _
" " + _
ZTimeLoggedOn$
GOSUB 12960
CALL AllCaps (ZUserIn$)
LSET ZCityState$ = ZUserIn$
LSET ZElapsedTime$ = MKI$(0)
IF ZStartHash > 1 THEN _
MID$(ZUserRecord$,ZStartHash,ZLenHash) = HashValue$
IF ZStartIndiv > 1 THEN _
* ------[ first line different ]------
MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$ ' RC050901
GOSUB 9440
* REPLACING old line(s) by new
12330 ZUserSecLevel = UserSecLevelSave
ZFirstName$ = FirstNameSave$
ZLastName$ = LastNameSave$
ZActiveUserName$ = ActiveUserNameSave$
ZWasCI$ = CityStateSave$
HashValue$ = HashValueSave$
* ------[ first line different ]------
ZIndivValue$ = IndivValueSave$ ' RC050901
ZUserFileIndex = WasTU
LSET ZUserRecord$ = UserRecordHold$
GOTO 11001
'
' * GET USER First AND Last NAMES
'
* REPLACING old line(s) by new
12570 Found = ZFalse
CALL OpenWork (2,ZTrashcanFile$)
* ------[ first line different ]------
IF ZErrCode <> 0 THEN _ ' KG032601
ZErrCode = 0 : _ ' KG032601
RETURN ' KG032601
* REPLACING old line(s) by new
12598 TempHashValue$ = HashValue$
* ------[ first line different ]------
TempIndivValue$ = ZIndivValue$ ' RC050901
* REPLACING old line(s) by new
12850 IF ZStartIndiv < 1 THEN _
RETURN
IF ZStartIndiv = 1 THEN _
* ------[ first line different ]------
ZIndivValue$ = ZActiveUserName$ : _ ' RC050901
RETURN
IF ZExitToDoors THEN _ ' RC050901
RETURN ' RC050901
WasX$ = WasA1$ + _
ZPromptIndiv$
CALL UntilRight (WasX$,ZIndivValue$,2,ZLenIndiv) ' RC050901
RETURN
'
' * SET NEWUSER DEFAULTS
'
* REPLACING old line(s) by new
* ------[ first line different ]------
12978 ZSubParm = 4 ' no cr/lf ' KG081702
GOTO 12981
* REPLACING old line(s) by new
* ------[ first line different ]------
12979 ZSubParm = 5 ' cr/lf ' KG081702
GOTO 12981
* REPLACING old line(s) by new
13555 ZActiveMessageFile$ = ZOrigMsgFile$
GOSUB 12986
GOSUB 5344
GET 1,ZNodeRecIndex
MID$(ZMsgRec$,57,1) = "I"
MID$(ZMsgRec$,40,2) = " 0"
MID$(ZMsgRec$,72,2) = " 0"
* ------[ first line different ]------
IF MID$(ZMsgRec$,101,2) = ZCarriageReturn$+ZCarriageReturn$ THEN _ ' KG030602
MID$(ZMsgRec$,101,2) = " 0" ' KG030602
PUT 1,ZNodeRecIndex
GOSUB 12985
CLOSE 1,2,4,5
IF NOT ZFossil THEN _
CLOSE 3
IF ZRecycleToDos THEN _
GOTO 203
RUN 100
* REPLACING old line(s) by new
13600 CLS
LOCATE ,,0
* ------[ first line different ]------
CALL PScrn (ZWasDF$ + " file missing/invalid. Run CONFIG") ' KG071301
CALL DelayTime (3)
GOTO 203
* REPLACING old line(s) by new
23100 GET 1,ZNextMsgRec
IF MID$(ZMsgRec$,61,1) = ":" THEN _
CALL CheckInt (MID$(ZMsgRec$,117,4)) : _
IF ZErrCode = 0 AND (ZTestedIntValue > 1) AND (ZTestedIntValue < 100) THEN _
WasY = ZTestedIntValue : _
CALL CheckInt (MID$(ZMsgRec$,2,4)) : _
IF ZErrCode = 0 AND ZTestedIntValue > HighMsgNumber THEN _
HighMsgNumber = ZTestedIntValue : _
ZNextMsgRec = ZNextMsgRec + WasY : _
* ------[ first line different ]------
CALL QuickTPut1 ("Fixing Msg Header") : _ ' KG071301
MsgCorrected = ZTrue : _
GOTO 23100
RETURN
'
' * UPDATE MESSAGE HEADER RECORD DATA
'
* REPLACING old line(s) by new
42852 ZWasZ$ = LEFT$(ZUserIn$(ZAnsIndex),1)
CALL AllCaps (ZWasZ$)
IF INSTR("ICR",ZWasZ$) = 0 THEN _
GOTO 42851
ZEchoer$ = ZWasZ$
CALL SetEcho (ZEchoer$)
GOSUB 9525
* ------[ first line different ]------
RETURN ' KG071301
' * G - COMMAND FROM UTILITY MENU (GRAPHICS WANTED)
' * Graphic MENUS SELECTION SET FOR NEW USERS
'
* DELETING old line(s)
42950
* REPLACING old line(s) by new
* ------[ first line different ]------
43020 ZOutTxt$ = "Text Graphics: " + _ ' DA071701
MID$("None AsciiColor",ZWasGR * 5 + 1,5)
GOSUB 12979
RETURN
* REPLACING old line(s) by new
43022 IF ZEmphasizeOnDef$ = "" THEN _
RETURN
* ------[ first line different ]------
ZOutTxt$ = "Do you want colorized prompts ([Y],N)" ' DA071701
GOSUB 12999
ZHiLiteOff = NOT ZNo
CALL Toggle(5)
RETURN